package com.lb.jwitter.action.util;

import java.util.List;
import java.util.Map;

import com.lb.jwitter.util.KetQuaDangKy;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.lb.jwitter.util.ApplicationContextProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;

@ContextConfiguration(locations="classpath:beans.xml")
public class LogoutAction {
	private String code;

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}
	private boolean confirm;

	public boolean isConfirm() {
		return confirm;
	}

	public void setConfirm(boolean confirm) {
		this.confirm = confirm;
	}
	private String msg;

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
	
	private List<KetQuaDangKy> ketQuaDangKys;
	public List<KetQuaDangKy> getKetQuaDangKys() {
		return ketQuaDangKys;
	}

	public void setKetQuaDangKys(List<KetQuaDangKy> ketQuaDangKys) {
		this.ketQuaDangKys = ketQuaDangKys;
	}
	public String execute() throws Exception
	{
	   	try{
	
	       Map session = ActionContext.getContext().getSession();
	       
	   	   
			Boolean trongHanDK = (Boolean) session.get("trongHanDK");
			boolean capnhat = false;
			boolean isXacNhan = true;
			//NEU TRONG HAN DK MOI CHO PHEP XAC NHAN
		    if (trongHanDK != null && trongHanDK) {
		    	if(confirm){
		    		session.clear();
			        return Action.SUCCESS;
		    	}
			    ketQuaDangKys = (List<KetQuaDangKy>) session.get("ketQuaDangKys");
			    for(KetQuaDangKy ketqua : ketQuaDangKys){
		    		if(ketqua.getKetqua().getId() != null && !ketqua.getKetqua().isXacNhanYN()){
		    			isXacNhan = false;
		    			break;
		    		}
			    }		
			    
			    if(isXacNhan){
			    	session.clear();
			    }else{
			    	code = "NOTICE";
					msg = "Bạn chưa xác nhận kết quả đăng ký!<br/>";
					msg += "<a href='logout.action?confirm=true'>Tiếp tục đăng xuất</a>";
					return "notice";
			    }
		    }else{
		    	if(confirm){
		    		
		    		session.clear();
			        return Action.SUCCESS;
		    	}else{
		    	
			    	code = "NOTICE";
					msg = "Bạn chưa đến hạn đăng ký, kết quả hiện tại chỉ dùng để tham khảo, sẽ bị xóa sau khi đăng xuất!<br/>";
					msg += "<a href='logout.action?confirm=true'>Tiếp tục đăng xuất</a>";
					return "notice";
		    	}
		    }
			
	   	   
	        return Action.SUCCESS;
	
	     }
	        catch(Exception e){
	            System.out.println("Loi Logout Action");
	            e.printStackTrace();
	            return Action.ERROR;
	      }
	       
	}

}
